package co.jp.roomy;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import co.jp.roomy.vo.Heya;
import co.jp.roomy.vo.MyKagu;



/**
 * カテゴリ一覧表示アクティビティ
 */
public class SelectKaguCategoryActivity extends Activity {

	private DatabaseHelper helper = new DatabaseHelper(this);
	public static SQLiteDatabase db;
	private String[] dbKaguCategory;
	private Heya heya;
	
	private Map<Integer, String> kaguCategoryMap;
	
	@Override
	public void onCreate(Bundle bundle) {
		super.onCreate(bundle);
		// 自動生成されたR.javaの定数を指定してXMLからレイアウトを生成
		setContentView(R.layout.select_kagu_category);
		
		
		Intent intent = getIntent();
		heya = (Heya)intent.getSerializableExtra(SelectKaguCategoryActivity.this.getString(R.string.heyaKey));
		
		// XMLで定義したListViewのIDを読み込みListViewを生成します。
		final ListView categoryListView = (ListView) findViewById(R.id.categoryListView);
		
		db = helper.getWritableDatabase();
		String[] columns = {"categoryId","categoryName"};
		String orderBy = "categoryId ASC";
		Cursor c = db.query("M_CATEGORY", columns, null, null, null, null, orderBy);
		startManagingCursor(c);
		dbKaguCategory = new String[c.getCount()];
		for (int i=0;i<c.getCount();i++) {
			c.moveToNext();
			dbKaguCategory[i] = c.getString(c.getColumnIndex("categoryName"));
		}
		// intentからキー値を読み取り、変数に格納しローカライズする。
		//List<String> list = new ArrayList<String>();
		//kaguCategoryMap = new HashMap<Integer, String>();
		// 配列をListに詰め替える（配列のままAdapterに渡しても表示は可能）
		//for (int i=0; i<10; i++) {
			//list.add("家具カテゴリ" + i);
			//kaguCategoryMap.put(i, "家具カテゴリ" + i);
		//}
		
		// このコンテキストに、家具カテゴリリストを順番に設定する。
		final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, dbKaguCategory);
		// 生成したListViewに表示用アダプタを設定する
		categoryListView.setAdapter(arrayAdapter);
		
		
		// リストビューのアイテムがクリックされた時に呼び出されるコールバックリスナーを登録します
		categoryListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
			@Override
			public void onItemClick (AdapterView<?> parent, View view, int position, long id) {
				Intent intent = new Intent(SelectKaguCategoryActivity.this, SelectKaguTypeActivity.class);
				
				//クリックされたアイテムを取得します。
				ListView listView = (ListView) parent;
				final String item = (String) listView.getItemAtPosition(position);
				intent.putExtra(SelectKaguCategoryActivity.this.getString(R.string.categoryNameKey), item);
				
				intent.putExtra(SelectKaguCategoryActivity.this.getString(R.string.heyaKey), heya);
				startActivity(intent);
			}
		});
	}
}